package com.project.biz;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.project.entity.CmsRecoveryMember;
import com.project.pojo.dto.RecoveryMemberDTO;
import com.project.pojo.model.ApplyRecoveryMemberModel;
import com.project.pojo.model.GetAllRecoveryMemberModel;
import com.project.pojo.model.RefuseApplyRecoveryMemberModel;
import com.project.pojo.model.StopRecoveryMemberModel;

import java.util.List;

/**
 * @Description: 回收员业务层接口类
 * @Author: zhuchi
 * @CreateDate: 2020/11/9 13:12
 * @Version: 1.0
 */
public interface CmsRecoveryMemberBiz extends IService<CmsRecoveryMember> {

    /**
     * 查询回收员列表
     * @param getAllRecoveryMemberModel
     * @return
     */
    IPage<RecoveryMemberDTO> getAllRecoveryMember(GetAllRecoveryMemberModel getAllRecoveryMemberModel);

    /**
     * 查询回收员列表,返回集合
     * @param getAllRecoveryMemberModel
     * @return
     */
    List<CmsRecoveryMember> getRecoveryMemberList(GetAllRecoveryMemberModel getAllRecoveryMemberModel);

    /**
     * 申请回收员
     * @param applyRecoveryMemberModel
     * @param userId
     * @return
     */
    int addApplyRecoveryMember(ApplyRecoveryMemberModel applyRecoveryMemberModel, Long userId);

    /**
     * 同意回收员申请
     * @param recoveryMemberId
     * @param userId
     * @return
     */
    int updateAgreeApplyRecoveryMember(Long recoveryMemberId, Long userId);

    /**
     * 拒绝回收员申请
     * @param refuseApplyRecoveryMemberModel
     * @param userId
     * @return
     */
    int updateRefuseApplyRecoveryMember(RefuseApplyRecoveryMemberModel refuseApplyRecoveryMemberModel, Long userId);

    /**
     * 停用回收员
     * @param stopRecoveryMemberModel
     * @param userId
     * @return
     */
    int updateStopRecoveryMember(StopRecoveryMemberModel stopRecoveryMemberModel, Long userId);

    /**
     * 根据用户ID获取回收员信息
     * @param userId
     * @return
     */
    CmsRecoveryMember getRecoveryMmberByUserId(Long userId);

}
